home *** CD-ROM | disk | FTP | other *** search
- /* $VER: Emperor_CED.script 4.5 (7.10.2002) */
- /* written anno 2000-2002 by Matthias Gietzelt */
- /* script to: */
- /* + open */
- /* + save */
- /* + edit */
- /* + navigate */
- /* + handle */
-
- PARSE ARG mode value
-
- ADDRESS 'rexx_ced'
-
- OPTIONS RESULTS
-
- result = 0
-
- /* defined procedures */
- COMMAND_GETLINE = 0
- COMMAND_GETCOLUMN = 1
- COMMAND_GETPOSITION = 2
- COMMAND_CURSORUP = 100
- COMMAND_CURSORDOWN = 101
- COMMAND_TOFRONT = 102
- COMMAND_MATCHINGBRACKET = 103
- COMMAND_MARKON = 104
- COMMAND_MARKOFF = 105
- COMMAND_CUT = 106
- COMMAND_COPY = 107
- COMMAND_PASTE = 108
- COMMAND_ERASE = 109
- COMMAND_DELETEALL = 110
- COMMAND_UNDO = 111
- COMMAND_REDO = 112
- COMMAND_POS_SOW = 113
- COMMAND_POS_EOW = 114
- COMMAND_POS_SOL = 115
- COMMAND_POS_EOL = 116
- COMMAND_POS_SOF = 117
- COMMAND_POS_EOF = 118
- COMMAND_NEXT_WORD = 119
- COMMAND_NEXT_SENTENCE = 120
- COMMAND_NEXT_PARAGRAPH = 121
- COMMAND_NEXT_PAGE = 122
- COMMAND_PREV_WORD = 123
- COMMAND_PREV_SENTENCE = 124
- COMMAND_PREV_PARAGRAPH = 125
- COMMAND_PREV_PAGE = 126
- COMMAND_GOTOBOOKMARK1 = 127
- COMMAND_GOTOBOOKMARK2 = 128
- COMMAND_GOTOBOOKMARK3 = 129
- COMMAND_GOTOBOOKMARK4 = 130
- COMMAND_SETBOOKMARK1 = 131
- COMMAND_SETBOOKMARK2 = 132
- COMMAND_SETBOOKMARK3 = 133
- COMMAND_SETBOOKMARK4 = 134
- COMMAND_UPPERLOWERMARK = 135
- COMMAND_UPPERLOWERWORD = 136
- COMMAND_UPPERLOWERCHAR = 137
- COMMAND_LOWERMARK = 138
- COMMAND_LOWERWORD = 139
- COMMAND_LOWERCHAR = 140
- COMMAND_UPPERMARK = 141
- COMMAND_UPPERWORD = 142
- COMMAND_UPPERCHAR = 143
- COMMAND_LEAVE = 144
- COMMAND_START = 145
- COMMAND_JUMPTOLINE = 200
- COMMAND_JUMPTOCOLUMN = 201
- COMMAND_JUMPTOBYTE = 202
- COMMAND_INSERTTEXT = 203
- COMMAND_INSERTMODE = 204
- COMMAND_SAVE = 205
- COMMAND_OPEN = 206
- COMMAND_MACRO_MARKALL = 300
- COMMAND_MACRO_MARKTHISWORD = 301
- COMMAND_MACRO_MARKNEXTWORD = 302
- COMMAND_MACRO_MARKPREVWORD = 303
- COMMAND_MACRO_MARKLINE = 304
- COMMAND_MACRO_MARKLINEBEGIN = 305
- COMMAND_MACRO_MARKLINEEND = 306
- COMMAND_MACRO_MARKTOPTOCURSOR = 307
- COMMAND_MACRO_MARKCURSORTOEND = 308
-
- if mode = COMMAND_START then do
- if ~show('P', "rexx_ced") then address command value
- else OPEN NEW
- end
-
- if show('P', "rexx_ced") then do
- select
- when mode = COMMAND_GETLINE then STATUS CURSORLINE
- when mode = COMMAND_GETCOLUMN then STATUS CURSORCOLUMN
- when mode = COMMAND_GETPOSITION then do
- STATUS LINEBUFFEROFFSET
- buffer = result
- STATUS CURSORCOLUMN
- result = buffer + result
- end
- when mode = COMMAND_CURSORUP then UP
- when mode = COMMAND_CURSORDOWN then DOWN
- when mode = COMMAND_TOFRONT then CEDTOFRONT
- when mode = COMMAND_MATCHINGBRACKET then FIND MATCHING BRACKET
- when mode = COMMAND_MARKON then do
- MARK
- if RESULT = 0 then MARK
- end
- when mode = COMMAND_MARKOFF then do
- MARK
- if RESULT = 1 then MARK
- end
- when mode = COMMAND_CUT then CUT
- when mode = COMMAND_COPY then COPY
- when mode = COMMAND_PASTE then PASTE
- when mode = COMMAND_ERASE then CUT
- when mode = COMMAND_DELETEALL then CLEAR 1
- when mode = COMMAND_UNDO then UNDO
- when mode = COMMAND_REDO then REDO
- when mode = COMMAND_POS_SOW then do
- PREV WORD
- NEXT WORD
- end
- when mode = COMMAND_POS_EOW then NEXT WORD
- when mode = COMMAND_POS_SOL then BEG OF LINE
- when mode = COMMAND_POS_EOL then call END OF LINE
- when mode = COMMAND_POS_SOF then BEG OF FILE
- when mode = COMMAND_POS_EOF then call END OF FILE
- when mode = COMMAND_NEXT_WORD then NEXT WORD
- when mode = COMMAND_NEXT_SENTENCE then NEXT SENTENCE
- when mode = COMMAND_NEXT_PARAGRAPH then NEXT PARAGRAPH
- when mode = COMMAND_NEXT_PAGE then NEXT PAGE
- when mode = COMMAND_PREV_WORD then PREV WORD
- when mode = COMMAND_PREV_SENTENCE then PREV SENTENCE
- when mode = COMMAND_PREV_PARAGRAPH then PREV PARAGRAPH
- when mode = COMMAND_PREV_PAGE then PREV PAGE
- when mode = COMMAND_GOTOBOOKMARK1 then JUMP MARK 1
- when mode = COMMAND_GOTOBOOKMARK2 then JUMP MARK 2
- when mode = COMMAND_GOTOBOOKMARK3 then JUMP MARK 3
- when mode = COMMAND_GOTOBOOKMARK4 then JUMP MARK 4
- when mode = COMMAND_SETBOOKMARK1 then do
- STATUS MARKX1
- STATUS MARKY1
- end
- when mode = COMMAND_SETBOOKMARK2 then do
- STATUS MARKX2
- STATUS MARKY2
- end
- when mode = COMMAND_SETBOOKMARK3 then do
- STATUS MARKX3
- STATUS MARKY3
- end
- when mode = COMMAND_SETBOOKMARK4 then do
- STATUS MARKX4
- STATUS MARKY4
- end
- when mode = COMMAND_UPPERLOWERMARKED then CHANGE CASE MARKED
- when mode = COMMAND_UPPERLOWERWORD then CHANGE CASE WORD
- when mode = COMMAND_UPPERLOWERCHAR then CHANGE CASE LETTER
- when mode = COMMAND_LOWERMARKED then LOWER CASE MARKED
- when mode = COMMAND_LOWERWORD then LOWER CASE WORD
- when mode = COMMAND_LOWERCHAR then LOWER CASE LETTER
- when mode = COMMAND_UPPERMARKED then UPPER CASE MARKED
- when mode = COMMAND_UPPERWORD then UPPER CASE WORD
- when mode = COMMAND_UPPERCHAR then UPPER CASE LETTER
- when mode = COMMAND_START then PASTE
- when mode = COMMAND_JUMPTOLINE then JUMP TO LINE value
- when mode = COMMAND_JUMPTOCOLUMN then do
- STATUS CURSORLINE
- JUMPTO result+1 value
- end
- when mode = COMMAND_JUMPTOBYTE then JUMP TO BYTE value
- when mode = COMMAND_INSERTTEXT then TEXT value
- when mode = COMMAND_INSERTMODE then INSERT MODE
- when mode = COMMAND_OPEN then OPEN 1 value
- when mode = COMMAND_SAVE then SAVE value
- when mode = COMMAND_COMMAND_MACRO_MARKALL then do
- MARK
- if RESULT = 1 then MARK
- BEG OF FILE
- MARK
- if RESULT = 0 then MARK
- call END OF FILE
- end
- when mode = COMMAND_COMMAND_MACRO_MARKTHISWORD then do
- MARK
- if RESULT = 1 then MARK
- PREV WORD
- NEXT WORD
- MARK
- if RESULT = 0 then MARK
- NEXT WORD
- end
- when mode = COMMAND_COMMAND_MACRO_MARKNEXTWORD then do
- MARK
- if RESULT = 1 then MARK
- NEXT WORD
- MARK
- if RESULT = 0 then MARK
- NEXT WORD
- end
- when mode = COMMAND_COMMAND_MACRO_MARKPREVWORD then do
- MARK
- if RESULT = 1 then MARK
- PREV WORD
- MARK
- if RESULT = 0 then MARK
- PREV WORD
- NEXT WORD
- end
- when mode = COMMAND_COMMAND_MACRO_MARKLINE then do
- MARK
- if RESULT = 1 then MARK
- BEG OF LINE
- MARK
- if RESULT = 0 then MARK
- DOWN
- end
- when mode = COMMAND_COMMAND_MACRO_MARKLINEBEGIN then do
- MARK
- if RESULT = 0 then MARK
- BEG OF LINE
- end
- when mode = COMMAND_COMMAND_MACRO_MARKLINEEND then do
- MARK
- if RESULT = 0 then MARK
- call END OF LINE
- end
- when mode = COMMAND_COMMAND_MACRO_MARKTOPTOCURSOR then do
- MARK
- if RESULT = 0 then MARK
- BEG OF FILE
- end
- when mode = COMMAND_COMMAND_MACRO_MARKCURSORTOEND then do
- MARK
- if RESULT = 0 then MARK
- call END OF FILE
- end
- otherwise nop
- end
- end
-
- if mode < 100 then do
- outvalue = result
- Open(output, "RAM:T/Emperor_RexxOutput.tmp", Write)
- Writeln(output, outvalue)
- Close(output)
- end
-
- exit
-